<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
            1. 定义函数有几种方式，有什么区别？
            函数声明式，function fn (){} 可以在定义前调用
            函数表达式，var fn = function(){} 不可以在定义前调用，会报错
            2.return 关键字有那两种作用
            //返回结果
            //中断函数的执行

            3.函数实参数和形参个数不等时会发生什么？举例说明

            
            4.请定义一个函数，该函数功能为，传入一个值，返回这个值的平方值;请再写一个函数,传入两个值，然后计算第一个值的第二个值的次方。如传入 x，y。求x的y次方是多少

            function fn1(x) {
                return x * x;
            }

            let result = 1;
            function fn2(x, y) {
                while (y > 0) {
                    result *= x;
                    y--;
            }
            return result;
        }

            5.请写出一个函数，功能为：传入 2 个值，则返回其中的最大值；请再写一个函数，传入 3 个值，返回其中的最大值

            let max;
            function fn3(n, m) {
                if (n > m) {
                    max = n;
                } else {
                    max = m;
                }
                return max;
            }

            function fn4(a, b, c) {
                var max = a > b ? a : b;
                return max > c ? max : c;
            }
            6.请定义一个函数，输入一个 N 值，则计算出该值的阶乘，即：`n! = 1*2*3*4*5*6*...`
        */
        //    function fn5(i) {
        //         let result = i;
        //         while (i > 1) {
        //             i--;
        //             result *= i;
        //         }
        //         return result;
        //     }

    </script>
</body>

</html>